
convert2.o:     file format elf32-littlearm


Disassembly of section .text:

00000000 <test>:
	int c;
	struct tt t;
};

int test(struct tt *ts)
{
   0:	e92d4800 	push	{fp, lr}
   4:	e28db004 	add	fp, sp, #4
   8:	e24dd018 	sub	sp, sp, #24
   c:	e50b0010 	str	r0, [fp, #-16] ; ts
//	struct tt *t;
	struct wd *w;
	char *p;
	
	ts->a = 'a';
  10:	e51b3010 	ldr	r3, [fp, #-16] ; ts
  14:	e3a02061 	mov	r2, #97	; 0x61
  18:	e5c32000 	strb	r2, [r3]        ; ts->a = a
	ts->private_data = "wiaozhi_1234567890";
  1c:	e51b3010 	ldr	r3, [fp, #-16]     ; ts
  20:	e59f206c 	ldr	r2, [pc, #108]	; 94 <test+0x94>
  24:	e5832004 	str	r2, [r3, #4]    ; ts->private_data
	
	//w = (struct wd *)t->private_data;
	w = ts->private_data;
  28:	e51b3010 	ldr	r3, [fp, #-16] ; ts
  2c:	e5933004 	ldr	r3, [r3, #4]   ; ts->private_data
  30:	e50b3008 	str	r3, [fp, #-8] ; w
	p = ts->private_data;
  34:	e51b3010 	ldr	r3, [fp, #-16]
  38:	e5933004 	ldr	r3, [r3, #4]
  3c:	e50b300c 	str	r3, [fp, #-12] ; p
	
	//							wiao   zhi_ 1234  567890
	//							w      z    1     5      wiaozhi_1234567890
	printf("%c %c %c %c %s\n", w->a, w->b, w->c, w->t.a, p);
  40:	e51b3008 	ldr	r3, [fp, #-8]    ; w 
  44:	e5d33000 	ldrb	r3, [r3]     ; w->a
  48:	e1a0c003 	mov	ip, r3           ; ip = w->a
  4c:	e51b3008 	ldr	r3, [fp, #-8]    ; w
  50:	e5932004 	ldr	r2, [r3, #4]     ; w->b
  54:	e51b3008 	ldr	r3, [fp, #-8]    ; w
  58:	e5931008 	ldr	r1, [r3, #8]     ; w->c
  5c:	e51b3008 	ldr	r3, [fp, #-8]    ; w
  60:	e5d3300c 	ldrb	r3, [r3, #12] ; w->t
  64:	e1a00003 	mov	r0, r3            ; w->t.a
  68:	e51b300c 	ldr	r3, [fp, #-12] ; p
  6c:	e58d3004 	str	r3, [sp, #4]   ; sp+4 = p
  70:	e58d0000 	str	r0, [sp]       ; sp = w->t.a
  74:	e1a03001 	mov	r3, r1         ; r3 = w->c
  78:	e1a0100c 	mov	r1, ip         ; r1 = w->a
  7c:	e59f0014 	ldr	r0, [pc, #20]	; 98 <test+0x98>
  80:	ebfffffe 	bl	0 <printf>
	
	return 0;
  84:	e3a03000 	mov	r3, #0
}
  88:	e1a00003 	mov	r0, r3
  8c:	e24bd004 	sub	sp, fp, #4
  90:	e8bd8800 	pop	{fp, pc}
  94:	00000000 	.word	0x00000000
  98:	00000014 	.word	0x00000014

0000009c <T>:
				((char *)&((T3) {1, (char *) 1}))
			}
		};
		
int T()
{
  9c:	e92d4810 	push	{r4, fp, lr}
  a0:	e28db008 	add	fp, sp, #8
  a4:	e24dd02c 	sub	sp, sp, #44	; 0x2c
	T3 *pt3 = (T3*)a[0].value;
  a8:	e59f3080 	ldr	r3, [pc, #128]	; 130 <T+0x94>  a
  ac:	e5933004 	ldr	r3, [r3, #4]    ; a.value
  b0:	e50b3010 	str	r3, [fp, #-16]  ; pt3
	int value;
	char *b = "xiaozhi";
  b4:	e59f3078 	ldr	r3, [pc, #120]	; 134 <T+0x98>
  b8:	e50b3014 	str	r3, [fp, #-20]	; 0xffffffec    b
	char c[] = {'a', 'b', 'c', 'd', 'e', 'f'};
  bc:	e59f2074 	ldr	r2, [pc, #116]	; 138 <T+0x9c>
  c0:	e24b3020 	sub	r3, fp, #32     ; c
  c4:	e1a01002 	mov	r1, r2
  c8:	e3a02006 	mov	r2, #6
  cc:	e1a00003 	mov	r0, r3
  d0:	ebfffffe 	bl	0 <memcpy>
	
	value = sizeof(a);
  d4:	e3a03008 	mov	r3, #8
  d8:	e50b3018 	str	r3, [fp, #-24]	; 0xffffffe8    value
	printf("T() : %d %d %d %d sizeof c=%d strlen c=%d\n", 
  dc:	e51b0014 	ldr	r0, [fp, #-20]	; 0xffffffec    b
  e0:	ebfffffe 	bl	0 <strlen>
  e4:	e1a04000 	mov	r4, r0
  e8:	e24b3020 	sub	r3, fp, #32
  ec:	e1a00003 	mov	r0, r3
  f0:	ebfffffe 	bl	0 <strlen>
  f4:	e1a03000 	mov	r3, r0
  f8:	e58d3008 	str	r3, [sp, #8]
  fc:	e3a03006 	mov	r3, #6
 100:	e58d3004 	str	r3, [sp, #4]
 104:	e58d4000 	str	r4, [sp]
 108:	e3a03004 	mov	r3, #4
 10c:	e3a02004 	mov	r2, #4
 110:	e51b1018 	ldr	r1, [fp, #-24]	; 0xffffffe8
 114:	e59f0020 	ldr	r0, [pc, #32]	; 13c <T+0xa0>
 118:	ebfffffe 	bl	0 <printf>
					 value, sizeof(long),
					 sizeof(b), strlen(b), 
					 sizeof(c), strlen(c));	//  8 4 4 7 sizeof c=6 strlen c=7

	return (int)pt3->value;
 11c:	e51b3010 	ldr	r3, [fp, #-16]
 120:	e5933004 	ldr	r3, [r3, #4]
}
 124:	e1a00003 	mov	r0, r3
 128:	e24bd008 	sub	sp, fp, #8
 12c:	e8bd8810 	pop	{r4, fp, pc}
 130:	00000000 	.word	0x00000000
 134:	00000028 	.word	0x00000028
 138:	0000005c 	.word	0x0000005c
 13c:	00000030 	.word	0x00000030

00000140 <main>:
	}nested;
} ix = { .nested.y = 5, 6, .x = 1, 2};


int main()
{
 140:	e92d4800 	push	{fp, lr}
 144:	e28db004 	add	fp, sp, #4
 148:	e24dd020 	sub	sp, sp, #32
	struct tt t;
	struct wd w;
	int value;
	
	test(&t);
 14c:	e24b300c 	sub	r3, fp, #12
 150:	e1a00003 	mov	r0, r3
 154:	ebfffffe 	bl	0 <test>
	 T();
 158:	ebfffffe 	bl	9c <T>

	
	return 0;
 15c:	e3a03000 	mov	r3, #0
}
 160:	e1a00003 	mov	r0, r3
 164:	e24bd004 	sub	sp, fp, #4
 168:	e8bd8800 	pop	{fp, pc}
